Simplify x86_32 boot code by removing bogus P6 check (really it was a
486 check, and we can assume everyone has CPUID I think).
Signed-off-by: Keir Fraser <keir@xensource.com>
/* Checksum: must be the negated sum of the first two fields. */
.long -0x1BADB005
-bad_cpu_msg:
- .asciz "ERR: Not a P6-compatible CPU!"
not_multiboot_msg:
.asciz "ERR: Not a Multiboot bootloader!"
-bad_cpu:
- mov $bad_cpu_msg-__PAGE_OFFSET,%esi
- jmp print_err
not_multiboot:
mov $not_multiboot_msg-__PAGE_OFFSET,%esi
-print_err:
mov $0xB8000,%edi # VGA framebuffer
1: mov (%esi),%bl
test %bl,%bl # Terminate on '\0' sentinel
pushl $0
popf
- /* CPU type checks. We need P6+. */
- mov $0x200000,%edx
- pushfl
- pop %ecx
- and %edx,%ecx
- jne bad_cpu # ID bit should be clear
- pushl %edx
- popfl
- pushfl
- pop %ecx
- and %edx,%ecx
- je bad_cpu # ID bit should be set
-
/* Set up FPU. */
fninit